-- *****************************************************************
-- REDSTONE-SLEP-MIB
--
-- Redstone Communications Inc. Enterprise MIB
-- Serial Line Encapsulation Protocol MIB
--
-- Copyright 2000 Redstone Communications, Incorporated.
-- All Rights Reserved.
-- *****************************************************************

REDSTONE-SLEP-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Counter32
                FROM SNMPv2-SMI

        RowStatus
                FROM SNMPv2-TC

        InterfaceIndex, InterfaceIndexOrZero
                FROM IF-MIB

        rsMgmt
                FROM REDSTONE-SMI

        RsNextIfIndex
                FROM REDSTONE-TC;


rsSlepMIBS  MODULE-IDENTITY
        LAST-UPDATED "0001030000Z"
        ORGANIZATION "Redstone Communications, Inc."
        CONTACT-INFO
        "
        Redstone Communications, Inc.
                5 Carlisle Road
        Westford MA 01886
        USA
        Tel:    +1-978-692-1999
                Email:  mib@redstonecom.com
        "
        DESCRIPTION
                "The Serial Line Encapulation Protocol (SLEP) MIB for the 
                Redstone Communications Inc. enterprise."
        REVISION      "0001030000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { rsMgmt 15 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Textual conventions
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- No textual conventions are defined in this MIB.


-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Managed objects
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsSlepObjects     OBJECT IDENTIFIER ::= { rsSlepMIBS 1 }

-- 
-- This MIB contains managed objects for the Serial Line Encapulation
--  Protocol sublayer interface.
--
-- Management objects are provided to query for an available
-- interface index, and to create/delete interfaces of that type.
-- Creating/deleting these interface types using this MIB has the
-- side effect of creating/deleting corresponding entries in the
-- Interface MIB ifTable/ifXTable, and in the Redstone Enterprise
-- Interface MIB rsIfTable.
--

rsSlepIfLayer    OBJECT IDENTIFIER ::= { rsSlepObjects 1 }

-- //////////////////////////////////////////////////////////////////////
--
-- Serial Line Encapulation Interface Layer
--
-- This layer is managed with the following elements:
--
--  o NextIfIndex (generator for SLEP Ifndex selection)
--  o Interface Table (creation/configuration/deletion of SLEP interfaces)
--
-- //////////////////////////////////////////////////////////////////////

--
-- IfIndex selection for creating new SLEP interfaces
--

rsSlepNextIfIndex OBJECT-TYPE
    SYNTAX      RsNextIfIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Coordinate ifIndex value allocation for entries
        in rsSlepIfTable.

        A GET of this object returns the next available ifIndex 
        value to be used to create an entry in the associated
        interface table; or zero, if no valid ifIndex value is
        available. This object also returns a value of zero when 
        it is the lexicographic successor of a varbind presented 
        in an SNMP GETNEXT or GETBULK request, for which circumstance
        it is assumed that ifIndex allocation is unintended.

        Successive GETs will typically return different
        values, thus avoiding collisions among cooperating
        management clients seeking to create table entries
        simultaneously.
        "
    ::= { rsSlepIfLayer 1 }

--
-- The Slep Interface Table
--

rsSlepIfTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsSlepIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
                "The parameters for the SLEP service on this interface."        
    ::= { rsSlepIfLayer 2 }

rsSlepIfEntry OBJECT-TYPE
    SYNTAX      RsSlepIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Parameters for a particular SLEP interface. 

        Creating/deleting entries in this table causes corresponding 
        entries for be created/deleted in ifTable/ifXTable/rsIfTable"

    INDEX   { rsSlepIfIndex }
    ::= { rsSlepIfTable 1 }

RsSlepIfEntry ::= SEQUENCE {
    rsSlepIfIndex                  InterfaceIndex,
    rsSlepKeepAliveTimer           INTEGER, 
    rsSlepIfLowerIfIndex           InterfaceIndexOrZero,
    rsSlepIfRowStatus              RowStatus
}

rsSlepIfIndex   OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible 
    STATUS      current
    DESCRIPTION
        "The ifIndex value of the corresponding ifEntry."
    ::= { rsSlepIfEntry 1 }

rsSlepKeepAliveTimer OBJECT-TYPE
    SYNTAX     INTEGER (0..6553) 
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The interface keep alive timer for this entry. The time in seconds that
         this entity will wait for sending a keep-alive-message to the remote
         SLEP entity, and the time in seconds that this entity will wait for the
         reception of a keep-alive-message from the remote SLEP entity."
    DEFVAL { 10 }
    ::= { rsSlepIfEntry 2 }

rsSlepIfLowerIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The ifIndex of an interface over which this SLEP 
        interface is to be layered. A value of zero indicates no layering.
        An implementation may choose to require that a nonzero value
        be configured at entry creation."
    ::= { rsSlepIfEntry 3 }

rsSlepIfRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Controls creation/deletion of entries in this table
        according to the RowStatus textual convention, 
        constrained to support the following values only:

            createAndGo
            destroy
            
        To create an entry in this table, the following 
        entry objects MUST be explicitly configured:

            rsSlepIfRowStatus
            rsSlepIfLowerIfIndex

        In addition, when creating an entry the following
        conditions must hold:

            A value for rsSlepIfIndex must have been determined
            previously, by reading rsSlepNextIfIndex. 

            The interface identified by rsSlepIfLowerIfIndex
            must exist, and must be an interface type that
            permits layering of SLEP Interface above it.

        A corresponding entry in ifTable/ifXTable/rsIfTable is 
        created/destroyed as a result of creating/destroying an entry 
        in this table. "

    ::= { rsSlepIfEntry 4 }

--
-- The Slep Interface Statistics Table
--

rsSlepIfStatisticsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsSlepIfStatisticsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
                "The statistics for the SLEP service on this interface."        
    ::= { rsSlepIfLayer 3 }

rsSlepIfStatisticsEntry OBJECT-TYPE
    SYNTAX      RsSlepIfStatisticsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The statistics for a particular SLEP interface."
    INDEX   { rsSlepIfStatsIndex }
    ::= { rsSlepIfStatisticsTable 1 }

RsSlepIfStatisticsEntry ::= SEQUENCE {
    rsSlepIfStatsIndex             InterfaceIndex,
    rsSlepKeepAliveFailures        Counter32,
    rsSlepLinkStatusTooLongPackets Counter32,
    rsSlepLinkStatusBadFCSs        Counter32
}

rsSlepIfStatsIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible 
    STATUS      current
    DESCRIPTION
        "The ifIndex value of that identifies this entry."
    ::= { rsSlepIfStatisticsEntry 1 }

rsSlepKeepAliveFailures OBJECT-TYPE
    SYNTAX      Counter32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of link drops due to keep-alive failures."
    ::= { rsSlepIfStatisticsEntry 2 }

rsSlepLinkStatusTooLongPackets OBJECT-TYPE
    SYNTAX      Counter32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of packets that were too long for this SLEP entity."
    ::= { rsSlepIfStatisticsEntry 3 }

rsSlepLinkStatusBadFCSs OBJECT-TYPE
    SYNTAX      Counter32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of FCS's errors for this SLEP entity."
    ::= { rsSlepIfStatisticsEntry 4 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Notification control objects
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- No notifications are defined in this MIB. Placeholder follows.

-- rsSlepTrapControl      OBJECT IDENTIFIER ::= { rsSlepMIBS 2 }


-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Notifications
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- No notifications are defined in this MIB. Placeholder follows.

-- The following two OBJECT IDENTIFIERS are used to define SNMPv2 
-- Notifications that are easily translated into SNMPv1 Traps.

-- rsSlepTraps        OBJECT IDENTIFIER ::= { rsSlepMIBS 3 }
-- rsSlepPrefix       OBJECT IDENTIFIER ::= { rsSlepTraps 0 }


-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Conformance information
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsSlepConformance OBJECT IDENTIFIER ::= { rsSlepMIBS 4 }
rsSlepCompliances OBJECT IDENTIFIER ::= { rsSlepConformance 1 }
rsSlepGroups      OBJECT IDENTIFIER ::= { rsSlepConformance 2 }

-- compliance statements

rsSlepCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the Redstone SLEP MIB."
        MODULE  -- this module
                MANDATORY-GROUPS { rsSlepGroup }
        ::= { rsSlepCompliances 1 }

-- units of conformance

rsSlepGroup OBJECT-GROUP
        OBJECTS {
                    rsSlepNextIfIndex,
                    rsSlepKeepAliveTimer, 
                    rsSlepIfLowerIfIndex,
                    rsSlepIfRowStatus,
                    rsSlepKeepAliveFailures,
                    rsSlepLinkStatusTooLongPackets,
                    rsSlepLinkStatusBadFCSs
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing management of SLEP
                interfaces in a Redstone product."
    ::= { rsSlepGroups 1 }

END